package com.lemon.rpcframe.consumer.business;

/**
 * 所有待执行的业务逻辑 都需要继续此接口
 *
 *
 * @author wangyazhou
 * @version 1.0
 * @date  2015年9月19日 下午2:06:14
 * @see 
 * @since
 */
public interface TaskBusiness {

    /**
     * 初始化配置  参数等
     * @throws Throwable
     */
    public abstract void init() throws Throwable;

    /**
     * 
     * @return
     * @throws Throwable
     */
    public abstract void runBusiness(BusinessResult result) throws Throwable;

    /**
     * 停止正在运行的服务，建议以ExecutorService的方式来运行任务，以便可以接收中断请求
     * 
     * @throws Throwable
     */
    public abstract void stop() throws Throwable;

}
